共计 4042 个字符,预计需要花费 11 分钟才能阅读完成。
一. 程序的开发流程
1. 需求分析阶段
- PM 产品经理: 市场调研, 需求分析, 原型草图
PM: 从职业角度,是指企业建立以项目经理责任制为核心,对项目实行质量、安全、进度、成本管理的责任保证体系和全面提高项目管理水平设立的重要管理岗位。项目经理是为项目的成功策划和执行负总责的人。项目经理是项目团队的领导者,项目经理首要职责是在预算范围内按时优质地领导项目小组完成全部项目工作内容,并使客户满意。为此项目经理必须在一系列的项目计划、组织和控制活动中做好领导工作,从而实现项目目标。当然在互联网公司这个有着项目经理 or 产品经理的意思。
- PM 召集所有相关技术人员开需求分析会: n 次 ==> 需求明确
2. 项目开发阶段
2.1 项目设计:
- UE 与 PM 产品经理 ==》交互原型图
UE: 用户体验(User Experience,简称 UX 或 UE)是一种纯主观的在用户使用一个产品(服务)的过程中建立起来的心理感受。因为它是纯主观的,就带有一定的不确定因素。个体差异也决定了每个用户的真实体验是无法通过其他途径来完全模拟或再现的。但是对于一个界定明确的用户群体来讲,其用户体验的共性是能够经由良好设计的实验来认识到。计算机技术和互联网的发展,使技术创新形态正在发生转变,以用户为中心、以人为本越来越得到重视,用户体验也因此被称做创新 2.0 模式的精髓。另外还有有个组合叫法:UED(产品交互设计师,用户体验师)。
- UI 根据原型图 ==》设计图
UI: 用户界面(User Interface)(视觉设计)
UI 设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的 UI 设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。UI 还有其它的意义,如 Unit Interval,Univ of Iowa,Unlock Instruction,Urgent Interrupt。
- FE 前端开发 ===> 客户端程序(web 界面, 手机 APP, 微信小程序...)
FE: 前端(Front-End);前端开发(Front-End Development)FE 是 web 前端研发、前端开发的意思!
- RD 后端开发(PM 项目经理) ===> 与前端定好接口规范
RD: 研发(Research and Development)如:软件 RD 工程师就是软件研发工程师,诸如 PHP 程序猿,Java 程序猿,无论是爱疯的还是安卓的都是属于这一类别。偏向于后端的技术实现。
- QA 测试人员 ===> 设计好测试用例
staging ===> 与线上环境一比一测试
QA: 测试(QUALITY ASSURANCE,中文意思是“质量保证”)
其在 ISO8402:1994 中的定义是“为了提供足够的信任表明实体能够满足质量要求,而在质量管理体系中实施并根据需要进行证实的全部有计划和有系统的活动”。
有些推行 ISO9000 的组织会设置这样的部门或岗位,负责 ISO9000 标准所要求的有关质量保证的职能,担任这类工作的人员就叫做 QA 人员。
- OP 运维人员 ===> 设计好整套系统的架构
模拟线上环境 ===> 互联网用户使用的环境
后期维护: 一两个周上线一个小版本, 一个月到半个月上线一个大版本 ===> 回滚
OP: 运维(Operations)
OP 这个词语代表的意思很多,这个简称来自于英文的 Operations 一词。
我也不清楚谁最早用 op 代表运维工程师,不过 2010 年开始,这个词慢慢被很多人所知道。
OP 工作内容主要就是维护公司的服务器能够正常提供服务,细分的话包括系统部分,网络部分,应用程序部分,数据库部分,具体根据公司的规模和职位职能不同,运维的定义也不同。
现在市面上主要的 OP 有三种:网络游戏运维,网站运维,大型项目测试和生产环境运维。
2.2 项目开发:
- 前后端分头开发
- 合并一起
3. 项目测试
- 开发人员进行 code review ==》过一遍代码,审查一下
- 开发人员自测 =》改 bug
- QA 专业测试 =》改 bug
4. 项目上线
- 运维人员编写上线方案
- 测试
5. 环境
- 测试
- staging ===> 与线上环境一比一测试
- 线上环境 ===> 互联网用户使用的环境
6. 流程图
二. 运维的职责
1. 围绕三层做好监控: 应用程序必须一年 365 天 24 小时不间断的运行
2. 数据备份 (磁带, 磁盘)
3. 优化性能: 提升用户访问速度
三. 计算机硬件组成原理
- 个人 PC
- 服务器
1. 个人 PC
- 家用台式电脑: 一半用来家庭娱乐使用, 游戏, 电脑之类
- 笔记本电脑: 携带方便快捷, 大部分用来办公使用, 断电后有电池续命
2. 服务器
功能
: 搭建网站所使用的服务器, 相对于其他台式机, 笔记本电脑来说, 更加稳定可靠.- 简介: 服务器,也称同服器(台湾),是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一 - 般来说服务器应具备承担服务并且保障服务的能力。服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
3. 服务器的分类
3.1 按尺寸分类
- 1U 服务器(U 表示服务器的厚度) 1U = 1.75 英寸 = 4.445CM = 4.45CM.
- 4U 服务器 (U 表示服务器厚度):
ps: 服务器内部结构:
3.2 按外形分类
- 机架式服务器
机架式服务器的外形看来不像计算机,而像 " 抽屉”
,有 1U(1U=1.75 英寸 =44.45 毫米)2U、4U 等规格。机架式服务器安装在标准的 19 英寸机 柜里面。这种结构多为功能型服务器。如下
- 刀片式服务器
所谓刀片服务器 (准确的说应叫做刀片式服务器) 是指在标准高度的机架式机箱内可插装多个卡式的服务器单元,实现高可用和高密度
。每一块 "刀片" 实际上就是一块系统主板。它们可以通过 "板载" 硬盘启动自己的操作系统,如 Windows NT/2000、Linux 等,类似于一个个独立的服务器,在这种模式下,每一
块母板运行自己的系统,服务于指定的不同用户群,相互之间没有关联,因此相较于机架式服务器和机柜式服务器,单片母板的性能较低。不过,管理员可以使用系统软件将这些母板集合成一个 服务器集群
。在集群模式下,所有的母板可以连接起来提供高速的网络环境,并同时共享资源,为相同的用户群服务。在集群中插入新的 "刀片",就可以提高整体性能。而由于每块 "刀片" 都是热插拔的,所以,系统可以轻松地进行替换,并且将维护时间减少到最小。
- 塔式服务器
- 云主机: 虚拟服务器
4. 服务器品牌
- 常见品牌:
- 代表图片: Dell R72
加上盖子之后
- 还有一些 IBM 品牌
1U 3550/m3 3550/m5
2U 3650
4U 3850
8U 3950
HP
品牌:
DL380G7/G8 (2U)
四. 去 IOE 运动
2013 年 5 月 17 日,阿里集团最后一台 IBM 小机在支付宝下线。这是自 2009 年“去 IOE' 战略透露以来," 去 IOE" 非常重要的一个节点.
什么是去 IOE? ? --"IOE":
1-- IBM 公司、0-- Oracle 公司、E -- EMC 公司
企业的数据库架构有三个不可或缺的部分: 数据库服务器、数据库软件、数据存储设备。而 IOE 这三家公司恰恰分别在这三个领域实现了垄断
造成的结果就是由这三驾马车构成的数据库系统占领了全球数据库市场的很大份额。牵扯到数据安全以及数据设备成本的问题,有公司提出了 " 去 IOE" 运动: 用 PC 服务器代替 IBM 服务器,用 mysq| 替代 Oracle。
五. 小型机 与 PC 服务器的区别(了解)
小型机 (已经是过去时的概念) 与 PC 服务器的区别:
1. 架构完全不一样
小型机是指采用精简指令集处理器,性能和价格介于 PC 服务器和大型主机之间的一种高性能 64 位计算机
小型机具有区别 ec 及其服务器的特有体系结构,还有各制造厂自己的专利技术,有的还采用小型机专用处理器:
比如美国 Sun、日本 Fujitsu (富士通)等公司的小型机是基于 SPARC 处理器架构, 而美国 HP 公司的则是基于 PA RISC 架构; Compaq 公司是 A1pha 架构。另外 I / 0 总线也不相同,Fujitsu 是 PCI,Sun 是 sBUS, 等等。这就意味着各公司小型机机器上的插卡,如网卡、显示卡、scsI 卡等可能也是专用的
PC 服务器与 PC 电脑设计原理一致
2. 小型机一般都是专用的操作系统。
不同公司生产的小型机只能运行特定的操作系统
小型机使用的操作系统一般是基于 Unix 的,像 Sun、Fujitsu 是用 Sun Solaris, HP 是用 HP-Unix, IBM 是 AIX。所以小型机是封闭专用的计算机系统。使用小型机的用户一般是看 中 Uni x 操作系统的安全性、可靠性和专用服务器的高速运算能力。现在生产小型机的厂商主要有 HP、IBM、SUN、浪潮、曙光等.
它们的主要特色在于年宕机时间只有几小时,所以又统称为 z 系列(zero 零)。AS/400 主要应用在银行和制造业,还有用十 Domino, 主要的技术在于 TIMI (技术独立机器界面),单级存储,有了 TIMI 技术可以做到硬件与软件相互独立。RS/6000 比较常见,用于科学计算和事务处理等。
3. 小型机比服务器性能要强大很多
稳定性也比较好,年宕机只有几小时
小型机跟普通的服务器 (也就是常说的 PC- SERVER) 是有很大差别的,最重要的一点就是小型机的高 RAS
(Reliability, Availability, Serviceability 高可靠性、高可用性、高服务性)特性。RAS 是 Reliability, Availability, Serviceability 三个英文 单词的缩写,它们反映了计算机的高可靠性、高可用性、高服务性三个著名特点,它们的具体含义如下:
高可靠性(Reliability) : 计算机能够持续运转,从来不停机。高可用性(Availability) : 重要资源都有备份; 能够检测到潜在要发生的问题,并且能够转移其上正在运行的任务到其它资源,以减少停机时间,保持生产的持续运转; 具有实时在线维护和延迟性维护功
高服务性(serviceability) : 能够实时在线诊断,精确定位出根本问题所在,做到准确无误的快速修复。
4. 小型机的价格会更贵
- IBM 小型机